home *** CD-ROM | disk | FTP | other *** search
/ Business Library / Business Library.iso / business / bushome / finance1.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-10-27  |  6.3 KB  |  179 lines

  1. 10  '
  2. 50  CLEAR 2000
  3. 85  D$="$###,#.###":E$="$#######,#.##":G$="$#####,#.##":H$="######,#.##"
  4. 90  A1$="INITIAL BALANCE : $":A2$="NUMBER OF PAYMENTS PER YEAR :"
  5. 92  O1$="REGULAR PAYMENT":O2$="TOTAL OF PAYMENTS":O3$="TOTAL INTEREST PAID"
  6. 94  H1$="VALUE OF INVESTMENT":H2$="VALUE OF ACCUM. INTEREST":H3$="TOTAL VALUE"
  7. 95  DEFDBL Q,Y,X,W,P,D,O,J,K,R,C,S,L,H,I:DIM A(20)
  8. 100  CLS:PRINT TAB(10)"IBM PERSONAL COMPUTER HOME FINANCE PROGRAMS":PRINT :PRINT
  9. 110  PRINT:PRINT"LOAN AMORITIZATION CALCULATIONS";:PRINT TAB(50)"1"
  10. 120  PRINT:PRINT"LOAN AMORITIZATION SCHEDULE";:PRINT TAB(50)"2"
  11. 130  PRINT:PRINT"ANNUITIES CALCULATIONS";:PRINT TAB(50)"3"
  12. 140  PRINT:PRINT"HOME OWNER'S COST CALCULATIONS";:PRINT TAB(50)"4"
  13. 150  PRINT:PRINT"DEPRECIATIONS SCHEDULES";:PRINT TAB(50)"5"
  14. 160  PRINT:INPUT"WHICH PROGRAM :";X:IF X<1 OR X>5 THEN 100
  15. 180  ON X GOTO 2000,2600,3000,1000,4000
  16. 1000  CLS:PRINT TAB(14)"HOME OWNER'S REAL MONTHLY COST ESTIMATE"
  17. 1010  PRINT:INPUT"YOUR MONTHLY PAYMENT (WITH PROPERTY TAX) :$";A1
  18. 1025  X=A1*12:PRINT"ANNUALLY THIS AMOUNTS TO : $";X
  19. 1030  PRINT:INPUT"YOUR MORTGAGE IS : $";A2
  20. 1035  INPUT"YOUR ANNUAL INTEREST RATE IS : %";A3
  21. 1040  Q=(A3/100)*A2:GOSUB 2850:V=Q
  22. 1045  PRINT"FIRST YEAR'S INTEREST WILL BE : $";V
  23. 1050  PRINT:INPUT"ANNUAL PROPERTY TAXES ARE : $";A4
  24. 1055  D=V+A4:PRINT"DEDUCTIBLE INTEREST & TAXES TOTAL : $";D
  25. 1060  PRINT:INPUT"YOU ESTIMATE YOU ARE IN WHAT TAX BRACKET : %";A5
  26. 1065  A5=A5/100:Q=A5*D:F=Q
  27. 1070  PRINT"YOUR DEDUCTIONS WILL SAVE YOU : ";USINGG$;F
  28. 1075  INPUT"ESTIMATE YOUR PROPERTY VALUE INCREASE NEXT YEAR : %";A6:PRINT:PRINT:PRINT:PRINT
  29. 1080  A6=A6/100:Q=A6*A2:S=Q
  30. 1085  PRINT"YOUR PROPERTY WILL INCREASE IN VALUE : ";USINGG$;S
  31. 1090  M=ABS(X-D):PRINT"YOUR MORTAGE REDUCTION WILL AMOUNT TO : $";M
  32. 1095  N=F+S+M:PRINT"YOUR TOTAL BENEFITS NEXT YEAR WILL AMOUNT TO : $";N
  33. 1100  Q=N/12:O=Q:J=A1-O
  34. 1105  PRINT:PRINT"MONTHLY PAYMENT IS :";TAB(5) USING G$;A1
  35. 1110  PRINT"YOUR MONTHLY BENEFITS ARE :";TAB(35) USING G$;O
  36. 1115  PRINT"YOUR REAL MONTHLY COST IS :";TAB(35) USING G$;J
  37. 1120  PRINT:PRINT"THE ABOVE RESULTS ARE ESTIMATES ONLY"
  38. 1125  INPUT"PRESS ENTER TO RETURN TO MENU ";X$:GOTO 10
  39. 2000  CLS:PRINT TAB(15)"LOAN AMORITIZATION CALCULATION"
  40. 2010  PRINT:PRINT A1$;:INPUT A1
  41. 2015  GOSUB 5000:PRINT:PRINT A2$;:INPUT V
  42. 2020  A2=A2/V/100:X=1+A2:Y=V*A3/12:P=X^Y:B=1/P:C=A1*A2/(1-B):R=C*A3:K=R-A1
  43. 2060  PRINT STRING$(45,"=")
  44. 2065  PRINT O1$;TAB(35) USING E$;C
  45. 2070  PRINT O2$;TAB(35) USING E$;R
  46. 2075  PRINT O3$;TAB(35) USING E$;K
  47. 2080  PRINT:INPUT"CONTINUE (Y/N) ";C$:IF C$="Y" GOTO 2000 ELSE IF C$="N" GOTO 10
  48. 2083  GOTO 2080
  49. 2600  CLS:PRINT TAB(18)"LOAN AMORTIZATION SCHEDULE"
  50. 2615  PRINT:PRINT:I=0:R=0:H=0:S=0:X=0:A1=0:A4=0:A3=0
  51. 2620  INPUT"BEGINNING BALANCE : $";H:A(0)=H
  52. 2630  INPUT"ANNUAL INTEREST RATE : %";A1:L=(A1/12)/100
  53. 2640  INPUT"LOAN TERM (YRS,MONTHS) :";N,A6:N=N*12+A6
  54. 2645  INPUT"# OF MONTH OF FIRST PAYMENT :";A7:IF A7=0 THEN A7=1
  55. 2646  PRINT"ENTER 0 FOR COMPUTER CALCULATION OF PAYMENT"
  56. 2648  INPUT"MONTHLY PAYMENT :$";X:IF X>0 THEN 2665
  57. 2655  X=(1+L):Y=-N:P=X^Y:X=H*(L/(1-P)):X=(INT(100*X))/100
  58. 2665  GOSUB 2670:GOTO 2685
  59. 2670  CLS:PRINT"BAL";USING E$;A(0)
  60. 2673  PRINT"INTEREST %";A1
  61. 2675  PRINT"MONTHLY PAYMENT";USING G$;X
  62. 2680  PRINT"MONTH      PRINCIPLE      INTEREST   INT TO DATE    BALANCE"
  63. 2682  RETURN
  64. 2685  A3=A7:N=N+A7-1
  65. 2687  A9=0:A(10)=0:FOR Z=A3 TO A3+12-A7
  66. 2690  PRINT Z;
  67. 2695  I=H*L:I=(INT(100*I))/100:S=S+I:A4=X-I:H=H-A4
  68. 2703  R=R+A4:A9=A9+I:A(10)=A(10)+A4:IF Z=-1 THEN PRINT"LAST";
  69. 2704  PRINT TAB(8) USING G$;A4;:PRINT TAB(23) USING G$;I;:PRINT TAB(35) USING E$;S;:PRINT TAB(49) USING E$;H
  70. 2712  IF Z=-1 THEN 2720
  71. 2713  IF H<=X THEN I=(INT(100*H*L))/100:S=S+I:A4=H:Z=-1:H=0:GOTO 2703
  72. 2714  IF Z=N THEN Z=-1:GOTO 2720
  73. 2715  NEXT Z:A3=A3+13-A7:A7=1
  74. 2720  PRINT"TOTALS";:PRINT TAB(8) USING G$;A(10);:PRINT TAB(23) USING G$;A9;
  75. 2725  INPUT"    CONTINUE (Y/N)";C$:IF C$<>"Y" THEN 2800
  76. 2727  IF (C$="Y") AND (Z=-1) THEN 2800
  77. 2730  GOSUB 2670:GOTO 2687
  78. 2800  CLS:PRINT"TOTAL PRINCIPLE PAID ";USING E$;R
  79. 2810  PRINT"TOTAL INTEREST PAID  ";USING E$;S
  80. 2815  G=H*L/30
  81. 2818  PRINT
  82. 2820  IF H=0 THEN 2830
  83. 2823  PRINT"FINAL PAYMENT IS     ";USING E$;H
  84. 2824  PRINT"INTEREST PER DAY IS     ";USING D$;G
  85. 2830  INPUT"AGAIN ";C$:IF C$="Y" THEN 2600
  86. 2845  IF C$="N" THEN 10 ELSE 2830
  87. 2850  RETURN
  88. 3000  '
  89. 3001  CLS:PRINT TAB(18)"ANNUITIES CALCULATIONS"
  90. 3005  PRINT:PRINT:PRINT"FUTURE VALUE OF A SINGLE DEPOSIT";TAB(55)"1"
  91. 3010  PRINT:PRINT"PRESENT VALUE REQUIRED FOR A FUTURE VALUE";TAB(55)"2"
  92. 3015  PRINT:PRINT"FUTURE VALUE OF REGULAR DEPOSITS";TAB(55)"3"
  93. 3020  PRINT:PRINT"REGULAR DEPOSITS REQUIRED TO ACHIEVE A FUTURE VALUE";TAB(55)"4"
  94. 3030  PRINT:PRINT"EXIT THIS PROGRAM";TAB(55)"5"
  95. 3035  PRINT:INPUT"WHICH PROGRAM : ";X:IF X<1 OR X>5 THEN 3000
  96. 3050  ON X GOTO 3100,3200,3300,3400,10
  97. 3100  CLS:PRINT TAB(10)"FUTURE VALUE OF A DEPOSIT"
  98. 3105  INPUT"INITIAL INVESTMENT : $";A1
  99. 3110  GOSUB 5000
  100. 3115  PRINT:INPUT"NUMBER OF COMPOUNDING PERIODS/YR :";V
  101. 3120  A2=A2/V/100:X=1+A2:Y=(A3/12)*V:P=X^Y:Q=P*A1:W=Q-A1:GOSUB 5100
  102. 3130  GOSUB 9500:GOTO 3000
  103. 3200  CLS:PRINT TAB(12)"PRESENT VALUE REQUIRED FOR A FUTURE VALUE"
  104. 3210  INPUT"FUTURE VALUE EXPECTED : $";A1
  105. 3220  GOSUB 5000:PRINT:INPUT"NUMBER OF COMPOUNDING PERIODS/YR ; ";V
  106. 3225  A2=A2/V/100:X=1+A2:Y=-A3/12*V:P=X^Y
  107. 3230  Q=P*A1:W=A1-Q:D=A1:A1=Q:Q=D:PRINT:GOSUB5100
  108. 3235  GOTO 3130
  109. 3300  CLS:PRINT TAB(20)"FUTURE VALUE OF REGULAR DEPOSITS"
  110. 3310  INPUT"DEPOSIT : $";A1
  111. 3313  GOSUB 3315:GOTO 3320
  112. 3315  GOSUB 5000:PRINT:INPUT"NUMBER OF DEPOSITS PER YEAR : ";V
  113. 3317  PRINT:INPUT"NUMBER OF COMPOUNDING PERIODS PER YEAR : ";T:S=V/T
  114. 3319  RETURN
  115. 3320  A2=A2/T/100:X=1+A2:Y=A3/12*T:P=X^Y:Q=(A1*V/T)*((P-1)/A2):A1=A1*A3/12*V
  116. 3330  W=Q-A1:PRINT:GOSUB 5100:GOTO 3130
  117. 3400  CLS:PRINT TAB(5)"REGULAR DEPOSITS REQUIRED TO ACHIEVE A FUTURE VALUE"
  118. 3410  INPUT"FUTURE VALUE : $";A1:GOSUB 3315:A2=A2/T/100:X=1+A2:Y=A3/12*T:P=X^Y:Q=A1*(A2/(P-1)):Q=Q*T/V:C=Q*V*A3/12
  119. 3430  PRINT STRING$(50,"=")
  120. 3435  PRINT"REGULAR DEPOSIT REQUIRED"TAB(35) USING G$;Q
  121. 3440  W=A1-C:Q=A1:A1=C:GOSUB 5105:GOTO 3130
  122. 4000  CLS:PRINT TAB(25)"DEPRECIATION SCHEDULES"
  123. 4010  PRINT:PRINT"STRAIGHT LINE METHOD";TAB(50)"1"
  124. 4020  PRINT:PRINT"SUM OF THE YEARS DIGITS METHOD";TAB(50)"2"
  125. 4030  PRINT:PRINT"DECLINING BALANCE METHOD";TAB(50)"3"
  126. 4050  PRINT:INPUT"WHICH PROGRAM";X:IF X=4 THEN 100
  127. 4060  IF X<1 OR X>4 THEN 4000
  128. 4065  A(20)=X
  129. 4070  ON X GOTO 4100,4200,4300
  130. 4072  PRINT:PRINT"EXIT THE PROGRAM";TAB(50)"4"
  131. 4100  CLS:A$="STRAIGHT LINE":B$=" METHOD":PRINT TAB(23)A$;B$:PRINT:GOSUB 4900
  132. 4105  I=18:X=A3/A4:GOSUB 4500:GOSUB 4550:GOTO 4000
  133. 4200  CLS:A$="SUM OF THE YEARS":B$=" DIGITS METHOD"
  134. 4205  PRINT TAB(13)A$;B$:PRINT:GOSUB 4900
  135. 4210  E=0:FOR Z=1 TO A4:E=E+Z:NEXT
  136. 4220  I=18:GOSUB 4500:GOSUB 4550:GOTO 4000
  137. 4300  CLS:A$="DECLINING":B$=" BALANCE METHOD"
  138. 4307  PRINT TAB(22)A$;B$:I=22
  139. 4310  GOSUB 4950
  140. 4340  A3=A3/100/A4:GOSUB 4500:GOSUB 4550:GOTO 4000
  141. 4500  CLS:PRINT TAB(I)A$;B$:PRINT TAB(3)"YEARS";TAB(25)"DEPRECIATION";
  142. 4506  PRINT TAB(48)"DEPRECIATED":PRINT TAB(28)"VALUE";TAB(52)"VALUE"
  143. 4510  RETURN
  144. 4550  A7=0:V=0:U=A1
  145. 4555  FOR Z=A7 TO (A7+11)
  146. 4560  GOSUB 4600
  147. 4563  IF Z=0 THEN X=0
  148. 4565  PRINT TAB(4)Z;
  149. 4566  PRINT TAB(24) USING G$;X;
  150. 4567  PRINT TAB(46) USING E$;V
  151. 4570  IF Z=>A4 THEN 4590
  152. 4575  NEXT Z:A7=A7+12
  153. 4580  INPUT"CONTINUE (Y/N) ";C$:IF C$<>"Y" THEN 4000+A(20)*100
  154. 4585  CLS:GOSUB 4500:GOTO 4555
  155. 4590  GOSUB 9500:GOTO 4000
  156. 4600  W=A(20):ON W GOTO 4670,4680,4690
  157. 4670  X=A3/A4:V=U:U=A1-X:A1=U:RETURN
  158. 4680  IF V<>0 THEN X=(A4+1-Z)/E*A3:U=A1-X:A1=U:V=U:RETURN
  159. 4685  V=U:RETURN
  160. 4690  IF V<>0 THEN X=U*A3:U=A1-X:A1=U:V=U:RETURN
  161. 4695  V=U:RETURN
  162. 4900  PRINT"PURCHASE PRICE";TAB(30)"$";:INPUT A1
  163. 4910  PRINT"RESALE PRICE";TAB(30)"$";:INPUT A2
  164. 4920  A3=A1-A2
  165. 4930  PRINT"TERM OF DEPRECIATION (YRS)"TAB(30);:INPUT A4:RETURN
  166. 4950  PRINT"PURCHASE PRICE"TAB(30)"$";:INPUT A1
  167. 4960  PRINT"DECLINING BALANCE FACTOR"TAB(30)"%";:INPUT A3
  168. 4970  PRINT"TERM OF DEPRECIATION (YRS)"TAB(30);:INPUT A4
  169. 4980  RETURN
  170. 5000  PRINT:INPUT"ANNUAL INTEREST RATE : %";A2
  171. 5010  PRINT:INPUT"TERM (YRS,MONTHS) : ";A3,A4:PD=A3:A3=A3*12+A4
  172. 5015  RETURN
  173. 5100  PRINT STRING$(50,"=")
  174. 5105  PRINT H1$;TAB(35) USING E$;A1
  175. 5110  PRINT H2$;TAB(35) USING E$;W
  176. 5115  PRINT H3$;TAB(35) USING E$;Q
  177. 5120  RETURN
  178. 9500  FOR Z=1 TO 6000:NEXT:RETURN
  179.